package com.pearl.order.demo;

/**
 * @author TD
 * @version 1.0
 * @date 2024/6/18
 */
import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;

import java.util.Properties;

public class NacosInstanceRegistration {

    public static void main(String[] args) throws NacosException {
        // 属性
        Properties properties = new Properties();
        properties.put("serverAddr", "127.0.0.1:8848");  // Nacos 服务器地址
        properties.put("namespace", "0faa0970-1179-4143-8aa2-cac3ee6b42ec");  // 命名空间，可选
        properties.put("username", "nacos");  // 用户名
        properties.put("password", "nacos");  // 密码

        // 创建 NamingService 实例
        NamingService naming = NacosFactory.createNamingService(properties);

        // 实例化要注册的实例对象
        Instance instance = new Instance();
        instance.setIp("127.0.0.1"); // 实例IP
        instance.setPort(8080); // 实例端口
        instance.setEphemeral(false); // 是否临时实例
        instance.setWeight(1.0); // 实例权重
        instance.setHealthy(true); // 实例健康状态
        instance.setEnabled(true); // 实例启用状态
        instance.setClusterName("DEFAULT"); // 集群名称
        instance.setServiceName("test-demo"); // 服务名称

        // 注册实例
        naming.registerInstance("test-demo", instance);

    }
}